package com.thitech.sif.ws;

import java.rmi.Remote;

import com.thitech.sif.Executor;
import com.thitech.sif.Helper;
import com.thitech.sif.exception.InputException;
import com.thitech.sif.exception.OutputException;
import com.thitech.sif.exception.ServiceExecuteException;

/**
 * Web Service服务执行回调接口
 * 
 * @author shisheng.lian
 * 
 */
public interface Axis1WSHelper extends Helper {
	/**
	 * Web Service服务回调方法，本方法只支持使用Axis1生成的Web Service客户端，Stub对象由框架自动创建，通过本方法中的bindingStub对象返回，使用时可把此对象强
	 * 转成Axis1生成客户的客户端中的Stub对象
	 * @param bindingStub stub对象
	 * @param executor Web Service服务执行对象，包含所有服务调用所需要的上下文数据对象
	 * @return
	 * @throws ServiceExecuteException 服务执行时候出现异常，包装成此异常抛出
	 * @throws InputException 处理服务输入数据出现异常，包装成此异常抛出
	 * @throws OutputException 处理服务返回数据出现异常，包装成此异常抛出
	 */
	public WSBaseOutput doExecute(Remote bindingStub, Executor executor) throws ServiceExecuteException,
			InputException, OutputException;
}
